﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Rel.Expressions
{
   
    /// <summary>
    /// Specifies the currently selected quantifier type
    /// </summary>
    internal enum QuantifierType
    {
        /// <summary>
        /// No quantifier has been specified.
        /// </summary>
        None,
        /// <summary>
        /// Zero or more instances of the current expression
        /// </summary>
        ZeroOrMore,
        /// <summary>
        /// Zero or one instances of the current expression
        /// </summary>
        ZeroOrOne,
        /// <summary>
        /// One or more of the current expresssion
        /// </summary>
        OneOrMore,
        /// <summary>
        /// At least x many of the current expression
        /// </summary>
        AtLeast,
        /// <summary>
        /// Between x and y of the current expression
        /// </summary>
        Between,
        /// <summary>
        /// Exactly x many of the current expression
        /// </summary>
        Exactly,

        /// <summary>
        /// Exactly one of the current expression  
        /// </summary>
        One

    }
}
